package com.jincp.image.load;

import android.content.Context;
import android.widget.ImageView;

import com.jcp.baselibrary.utils.MyLogger;
import com.jincp.image.R;
import com.jincp.image.load.glide_loder.GlideImageLoader;

/**
 * Created by admin on 2017/3/23.
 */

public class ImageLoaderProxy implements ImageLoader {

    protected static final String TAG = ImageLoaderProxy.class.getSimpleName();

    private static ImageLoaderProxy imageLoaderProxy;
    protected ImageLoader imageLoader;


    private ImageLoaderProxy() {
        imageLoader= new GlideImageLoader();
    }

    public static ImageLoaderProxy getInstance(){
        if (imageLoaderProxy == null){
            imageLoaderProxy = new ImageLoaderProxy();
        }
        return imageLoaderProxy;
    }

    @Override
    public void init(Context context) {
        imageLoader.init(context);
        ImageLoaderOptions.init(R.drawable.image_default, R.drawable.image_default);
    }

    public <T> void displayImage(T t, ImageView imageView) {
        displayImage(t, imageView, new ImageLoaderOptions.Builder().build());
    }

    @Override
    public <T> void displayImage(T t, ImageView imageView, ImageLoaderOptions options) {
        if (t instanceof String){
            MyLogger.d(TAG, (String)t);
        }
        imageLoader.displayImage(t, imageView, options);
    }

    @Override
    public <T> void displayGif(T t, ImageView imageView) {
        imageLoader.displayGif(t, imageView);
    }

    public void cleanCache() {
        imageLoader.cleanCache();
    }
}
